Loading...
 

CX_ITEM_PATTERN - Pattern

CX_ITEM_PATTERN

Class hierarchy
Description:

Variant parts. Variant parts are parts that are combined to one part, which differ in some characteristics, but actually all represent the same part. A good example of this is the screw. There is only one variant part for screws. In the characteristics (properties) of the screw is now entered, what makes the different screws different, e.g. the thread pitch, the length, the thread type, the diameter, the material etc.
So we have only one part with different characteristics.

Code example:
BeginTXN [ testTxn ] PlugSpace testTxn Get(itemPointer.Item())

Result: the subpart, if there is one in the variant part, that corresponds exactly to the characteristics of the attributes that the testTxn contains. If no subpart was found, the variant part is returned.
If there are no attributes for the determination, an error is returned. This error can be avoided by either calling the function ItemWeak instead of Item, or by registering a message that is triggered when characteristics are missing (SetBindMessage).

The following diagram shows how variant parts, distinct subparts and their attributes are usually connected in the ClassiX system (using the global attribute "WIDTH" as an example):

CX ITEM PATTERN

List of methods (MDI)
FunctionMA*ParametersReturnBrief description
AttributeSetValuesID STRINGString with name/value pairs of attributes
AttributesID STRINGNames of all attributes
AttributesUnplugged COLLECTIONFind unplugged attributes
Item OBJECTThe Item() function on the variant part checks whether the values of the characteristics in the plug space correspond exactly to the values of a subpart. If yes, the determined subpart is returned, otherwise the variant part. If the characteristics are missing for the determination, an error is displayed. This error can be avoided by either calling the function ItemWeak instead of Item, or by registering a message that is triggered when characteristics are missing (SetBindMessage)
PluggedID STRING"uniqueID" and names of all attributes
SanityCheck INTEGERCheck for consistency of the object
UniqueID STRINGContent of the fixed data field "uniqueID" and the names of all attributes
AccountOwner STRINGINTEGER?
AccountOwnerMA*STRING ?
AllocatedObject STRING, INTEGEROBJECTReturns allocated object of the desired type
AllocatedObjectMA*STRING, INTEGER Access to allocated objects of a desired type
Allocation STRING, INTEGEROBJECTReturns allocation of the desired type
AllocationMA*STRING, INTEGER Access to allocation of the desired type
Allocations COLLECTIONAllocations not related to this object
Allocators COLLECTIONAllocations relating to this object
Asset OBJECTDelivers billing object "fixed asset" (CX_ASSET)
Attributes INTEGEROBJECTn. Attribute
BillOfMaterial OBJECTReturns allocation "bill of material" (CX_BILL_OF_MATERIAL) from the assigned product
CastedStructureByCondition STRINGOBJECT
ClassFilter STRING, INTEGEROBJECTThis object, if it corresponds to a certain class
ClearingObject STRING, INTEGEROBJECTFirst assignment to settlement objects
ClearingObjectMA*STRING, INTEGER Assignments to settlement objects
ConditionedFilter STRING, OBJECTOBJECTIf a formula is executed, all objects are searched sequentially in the plug space for the data field searched for. If there are not only documents in the plug space, for example a data member "transaction", but also simple values as objects, then the evaluation of the formula would bring an error, because the simple value would also try to read the data field "transaction", which it does not have. Here the solution is to put the ConditionedFilter in front of the desired data field:
ConditionedFilter("inherited(this, CX_LINK_TXN)").FirstSuccessorByCondition("type(TopTransaction())=CX_ITEM_DEMAND")
ConditionedFilter2 OBJECTOBJECT
ConnectStateStructure OBJECT, STRING Connect to the status structure
Deleted INTEGERObject marked as deleted?
Description STRINGName of this object
EvaluateTotalMonitors STRING, INTEGERSTRINGOBJECT?
ForceMonitor STRINGOBJECTSearches for the specified monitor on the part and creates it even if it was not found
GetDomain INTEGERDomain of this object
GetSiblings COLLECTIONAll siblings of this object
GetSiblings2 COLLECTIONAll siblings of this object
GetSlotEntries VECTOR<object>>/obReturn of internal information about slots
GetStructure OBJECTOBJECTSearch for a subordinate structure that belongs to the same hierarchy
InsertMonitor OBJECT ?
ItemWeak OBJECT
JobSchedule OBJECTReturns allocation "routing" (CX_JOB_SCHEDULE) from the assigned product
LastUpdate OBJECTDate of the last write access
LastUser INTEGERUser who last had write access to the object
link OBJECT Add this object to the list of objects with validity
Monitor STRINGOBJECTReturns the monitor of the part whose class name was passed as string
NextValidObject OBJECTSubsequent validity object in time
PreviousValidObject OBJECTPrevious validity object in time
Product OBJECTDelivers billing object "production article" (CX_PRODUCT)
Product Allocation STRING, INTEGEROBJECTReturns allocation of the desired type from the assigned product
PurchaseItem OBJECTDelivers billing object "Order item" (CX_PURCHASE_ITEM)
RemoveMonitor OBJECT, OBJECT Removes the connection to a monitor from an object
RemoveStateStructure STRING Find status structure by uniqueID and disconnect
RestrictedValidity* Area of validity restricted?
SalesItem OBJECTDelivers billing object "sales item" (CX_SALES_ITEM)
SetDomain INTEGER, INTEGER Set domain
SetStructure OBJECT Ensures that a structure becomes a subordinate structure
ShortName STRINGShort name of this object
Siblings* Objects with validity
SpanDateValidity* Period of validity
StateStructure STRINGOBJECTFind status structure after uniqueID (STRING) (not wrapped)
StateStructureWrapper STRINGOBJECTFind status structure by uniqueID
string INTEGERCX_STRINGReturns the string representation of the object
StructureByCondition STRINGOBJECTSubordinate structure with a specific condition
StructureByID STRINGOBJECTSubordinate structure with a certain unique key
StructureByIDMA*STRING Subordinate structures with a certain unique key
StructureByType STRING, INTEGEROBJECTSubordinate structure of a certain type
TestDataAccess STRING, STRING
TopItem OBJECTTop item(pattern) in the parts hierarchy
TotalMonitors STRING, INTEGERSTRINGOBJECT?
TriggeredStateStructure STRINGOBJECTAttempts to advance the status structure and returns the new status structure (not wrapped)
TriggeredStateStructureWrapper STRINGOBJECTAttempts to advance the status structure and returns the new status structure (wrapped)
TriggerStateStructures Switches all status structures forward
Unlink Remove this object from the list of objects with validity
Unlink2 Remove this object from the list of objects with validity
Valid OBJECTINTEGERCheck validity
ValidSince OBJECTStart of validity period
ValidToday INTEGERValid today?
ValidUntil OBJECTEnd of validity period
VerifySiblings INTEGERCheck ring of exchange objects

* MA = Member Access function,
grey background = inherited function

Data directory (DDI)
Data fieldTypeReference classI*Brief description
itemsREL_M1CX_ITEM Connection to things
allocationsREL_MNCX_EXPANDABLE ?
attributeSetPOINTERCX_ATTRIBUTE_SET Attribute table (characteristics), which explains slots in more detail
clearingObjectsREL_MNCX_CLEARING_OBJECT Payroll accounting areas
generalTermsREL_1MCX_GENERAL_TERMS ?
monitorsREL_MNCX_MONITOR ?
patternREL_1MCX_ITEM_PATTERN (Higher-level) pattern
structuresREL_MNCX_EXPANDABLE Organisational Structures
uniqueIDSTRING *Unique key
validityPOINTERCX_VALIDITY Validity period of the object

*I = Indexable data field,
grey background = inherited data field

Use in AppsWH
ModuleBrief description